1. Field of the Invention
This invention is related to the field of integrated circuits and, more particularly, to reducing area occupied by a control block within an integrated circuit.
2. Description of the Related Art
Integrated circuits comprise millions of transistors fabricated upon a semiconductor substrate, interconnected by several metal wiring layers placed atop the semiconductor substrate. Generally, integrated circuits include a data flow comprising one or more predesigned hardware elements (e.g. adders, multiplexors, comparators, memories, etc.) and one or more control blocks. The control blocks include the combinatorial logic which controls the data flow hardware in order to implement the specified function of the integrated circuit. In addition to the combinatorial logic, control blocks often include storage devices for storing outputs of the combinatorial logic. Using the combinatorial logic in conjunction with the storage devices, sequential state machines and pipelining may be implemented (among other things).
Each control block occupies a certain amount of semiconductor substrate area, which is determined by the number of cells included in the control block as well as the interconnect therebetween. A cell is a predesigned circuit implementing a particular logic function. For example, storage devices may be implemented as a cell. Additionally, combinatorial logic gates may be implemented as cells. Both simple combinatorial gates (e.g. nand, nor, and, or, etc.) and complex combinatorial logic represented by an equation of simple combinatorial gates may be implemented in cells. Complex combinatorial logic may be implemented as a cell if the corresponding equation is often used in the control block or if the combinatorial logic can be implemented in a smaller amount of area by integrating the gates forming the equation. Generally, a library of cells is provided for realizing a control block within the integrated circuit. The control block may include as many instances of each type of cell as desired to realize the function of the control block. An "instance" is one copy of the cell, which can be interconnected with other instances of the same or a different cell to perform a function. The instances are connected via interconnect wiring to realize each equation in the control block.
The total area occupied by the control blocks and data flow is the area occupied by the integrated circuit. The cost of manufacturing the integrated circuit is generally directly related to the area occupied by the integrated circuit. The smaller the area occupied by the integrated circuit, the more integrated circuit die can be placed upon a single semiconductor wafer of a particular size. The cost of the wafer and the cost of its passage through the semiconductor fabrication process may be amortized over more integrated circuit units if the area occupied by a unit is smaller, thereby lowering the cost. Additionally, the yield (i.e. functional die as a percentage of total die fabricated upon a wafer) may be increased by the inclusion of more die per wafer. An individual defect in the wafer or introduced in the manufacturing process may cause at least one die to be non-functional, but the inclusion of more die on the wafer dilutes the effect of each non-functional die and may therefore lead to a larger percentage of functional die.
Therefore, it is desirable to develop techniques which reduce the amount of area occupied by an integrated circuit.